home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Controls / Visual Basic Controls.iso / vbcontrol / sgwnd10 / comboexs.bas < prev    next >
Encoding:
BASIC Source File  |  1998-06-27  |  1.5 KB  |  36 lines

  1. Attribute VB_Name = "SubClass"
  2. Option Private Module
  3. Option Explicit
  4. Public NextProcs As Long
  5. Public NextProcs1 As Long
  6. Public Nodef As Boolean
  7. Public Const WM_SIZE = &H5
  8. Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  9. Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Any) As Long
  10. Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal wndrpcPrev As Long, ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  11. Public Const GWL_USERDATA = (-21)
  12. Public Const GWL_WNDPROC = -4
  13. Public DemoLoaded As Boolean
  14. Public Demo1Loaded As Boolean
  15.  
  16.  
  17. Declare Function SendMessage Lib "user32" Alias "SendMessageW" (ByVal hWnd As Long, ByVal uMgs As Long, ByVal wParam As Long, lParam As Any) As Long
  18. Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSrc As Any, ByVal ByteLen As Long)
  19. Public Function WindowProcDemo(ByVal hWnd As Long, ByVal uMsg As Long, _
  20.    ByVal wParam As Long, ByVal lParam As Long) As Long
  21.    On Error Resume Next
  22.      
  23.    Select Case hWnd
  24.       Case Demo.hWnd
  25.            Demo.ProcMsg hWnd, uMsg, wParam, lParam, 0& ', 0&
  26.    End Select
  27.    
  28.    If Nodef = True Then
  29.       WindowProcDemo = CallWindowProc(NextProcs, hWnd, uMsg, wParam, ByVal lParam)
  30.    Else
  31.       Nodef = False
  32.       Nodef = True
  33.    End If
  34. End Function
  35.  
  36.